﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Controls;
using System.Threading;
namespace covjece
{
    public class Aplikacija
    {

        MainWindow m;
        private static Aplikacija instanca = null;
        public ZutiIgrac zuti;
        public PlaviIgrac plavi;
        public ZeleniIgrac zeleni;
        public CrveniIgrac crveni;
        public static bool gotovo = false;
        public static int naRedu = 0;
        
        public Aplikacija(MainWindow m)
        {
            this.m = m;
            napraviIgrace();
            

        }



        public void napraviIgrace()
        {
            zuti = new ZutiIgrac(m);
            plavi = new PlaviIgrac(m);
            zeleni = new ZeleniIgrac(m);
            crveni = new CrveniIgrac(m);
            zeleni.postaviSljedeceg(crveni);
            crveni.postaviSljedeceg(plavi);
            plavi.postaviSljedeceg(zuti);
            zuti.postaviSljedeceg(zeleni);

            Thread nit;
            var velicinaSteka = 10000000;
            nit = new Thread(new ThreadStart(zeleni.igraj), velicinaSteka);
            nit.IsBackground = true;
            nit.Start();

        }

        public static void provjeriPobjednika()
        {

        }

        public void upisiRezultat()
        {

        }


        public static Aplikacija dajInstancu(MainWindow u, bool nova = false)
        {

            if (instanca == null || nova)
                instanca = new Aplikacija(u);
            
            return instanca;
        }



    }
}
